package client

import (
	"encoding/json"
	"io"
	"net/http"
)

type Response struct {
	*http.Response
}

// 获取返回数据内容
func (r *Response) GetBody() ([]byte, error) {
	return io.ReadAll(r.Body)
}

// 获取返回数据内容并处理为json格式
// @param v		传递参数需要使用地址引用
func (r *Response) UnmarshalBody(v any) error {
	body, e := io.ReadAll(r.Body)
	if e != nil {
		return e
	}

	if e := json.Unmarshal(body, &v); e != nil {
		return e
	}

	return nil
}
